package com.zzty.txj.controller;


import com.zzty.txj.entity.*;
import com.zzty.txj.service.SearchService;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;

@Controller
@RequestMapping("/search")
public class SearchController {
    private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SearchController.class);
    @Value("${putphone}")
    private Integer value;
    @Autowired
    SearchService searchService;
    //@Scheduled(cron="0 03-10 11 * * ?" )
    public List<Clazz>getClazz(){
        List<Clazz>clazz=searchService.getClazz();

        return clazz;
    }
   // @Scheduled(cron="0 03-10 11 * * ?" )
    public List<User>getUser(){
        List<Clazz>clazzes=searchService.getClazz();
        List<User>users=new ArrayList<User>();
        List<User>users1=new ArrayList<User>();
        for(int i=0;i<clazzes.size();i++){
            int id=clazzes.get(i).getId();
            users1=searchService.getUser(id);
            for(User u:users1){

                users.add(u);
            }
//            for(int j=0;j<users1.size();j++){
//                users.add(users1.get(j));
//            }
        }

        return users;
    }

   // @Scheduled(cron="0 16-59 15 * * ?" )
    public List<DoDaily>getDaily1(){
        Date day=new Date();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        String date=String.valueOf(df.format(day));

        List<DoDaily>doDailies=searchService.getDoDaily(date);
//        List<Integer>id=new ArrayList<>();
        for(int i=0;i<doDailies.size();i++){
            DoDaily doDaily=new DoDaily();
            DoDaily doDaily1=new DoDaily();
            Integer userId=doDailies.get(i).getUserId();
//            id.add(userId);
//            HashSet<Integer>hashSet=new HashSet<>();
//            hashSet.addAll(id);
//            System.out.println("userId"+hashSet);
//            for(int h=0;h<hashSet.size();h++){
//                Integer id1[]=hashSet.toArray(new Integer[]{});
//                List<DoDaily>getDodaily=searchService.counts(id1[h]);
//                doDaily.setUserId(id1[h]);
            List<DoDaily>getDodaily=searchService.counts(doDaily);
                doDaily.setUserId(userId);
                doDaily.setDailyId(3);
                Integer result=searchService.result(doDaily);

                if(result==-1){
                    for(int j=0;j<getDodaily.size();j++){
                        doDaily1.setFinalResult(0);
                        doDaily1.setUserId(userId);
                        searchService.count(doDaily1);
                    }
                }else{
                    for(int k=0;k<getDodaily.size();k++){
                        Integer dailyId=doDailies.get(k).getDailyId();
                        Integer money=searchService.getMoney(dailyId);

                        doDaily1.setFinalResult(money);
                        doDaily1.setUserId(userId);
                        Integer count=searchService.count(doDaily1);

                    }
                }
            }
//            for(int j=0;j<getDodaily.size();j++){
//                //Integer dailyId=getDodaily.get(j).getDailyId();
//                if(result==-1){
//                    for(int k=0)
//                    doDaily1.setFinalResult(0);
//                    searchService.count(doDaily1);
//                }else{
//                    Integer money=searchService.getMoney(j);
//                    doDaily1.setFinalResult(money);
//                    searchService.count(doDaily1);
//                }
//            }
//        }
        return doDailies;
    }
}
